home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
gnu
/
recode.lha
/
recode-3.2.4
/
checkit
< prev
next >
Wrap
Text File
|
1992-07-16
|
2KB
|
80 lines
:
# Script to help checking `recode'.
# Copyright (C) 1991 Free Software Foundation, Inc.
# Francois Pinard <pinard@iro.umontreal.ca>, 1991.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Use this script by `checkit [-v] FILE BEFORE AFTER'. It does
# various check of recoding FILE from BEFORE to AFTER or vice-versa.
# The -v parameter gives more verbose output. Exit with a non-zero
# status if any error found.
if test "$1" = -v; then
shift
verbose=1
fi
# Select methods to be tested by studying `configure' output.
eval `grep '^DEFS=' config.status`
methods=i
case "$DEFS" in
*HAVE_POPEN*) methods="$methods o" ;;
esac
case "$DEFS" in
*HAVE_PIPE*) methods="$methods p" ;;
esac
# Echo the tested sequence of steps.
if test -n "$verbose"; then
./recode -vi < /dev/null $2:$3
./recode -vi < /dev/null $3:$2
fi
# Try all methods, both in filter and in non-filter modes.
for method in $methods; do
test -n "$verbose" && echo "Checking -$method between $2 and $3 on stdin"
./recode -$method < $1 $2:$3 | ./recode -$method $3:$2 > checkit.tmp
if diff $1 checkit.tmp; then
:
else
echo
echo "*** error in: recode -$method < $1 $2:$3 [or $3:$2]"
rm checkit.tmp
exit 1
fi
test -n "$verbose" && echo "Checking -$method between $2 and $3 on file"
cp $1 checkit.tmp
./recode -$method $2:$3 checkit.tmp
./recode -$method $3:$2 checkit.tmp
if diff $1 checkit.tmp; then
:
else
echo
echo "*** error in: recode -$method $1 $2:$3 [or $3:$2]"
rm checkit.tmp
exit 1
fi
done
# Return success.
rm checkit.tmp
exit 0